1. Field of the Invention
This invention relates to electronic tone synthesis and in particular is concerned with reducing the time required to compute waveshapes.
2. Description of the Prior Art
In a tone generator of the type described in U.S. Pat. No. 4,085,644 entitled "Polyphonic Tone Synthesizer" a method is described for creating the tonal effect of a sliding formant filter. The rate at which the generated musical waveform can be varied as a function of time is limited by the length of time required to complete a computation cycle during which a master data set defining the instantaneous musical tone is computed and by the length of time required to copy the generated master data set into note registers contained in each of a number of tone generators.
The most obvious way to reduce the time allocated to a computation cycle is to simply increase the frequency of the master clock which provides the timing signals for the system's logical system operations. There are practical as well as economic limitations imposed on the speed, or frequency, of the master clock. Since the cost of implementing a musical tone generation system with microelectronic circuitry rises with an increase in the computation speed, it is desirable to achieve a decreased length of the computation cycle without increasing the speed of the master clock.
In U.S. Pat. No. 4,085,644 a procedure is described which reduces the computation cycle by one-half of the nominal time. This procedure entailed computing only 32 data words instead of the 64 data words nominally required to define a master data set corresponding to a musical waveshape having a maximum of 32 harmonics. This reduction of one-half in the number of data points required to be computed for the master data set is accomplished by generating the master data set having a prespecified symmetry of data points. The symmetry is obtained by using either only trigonometric sine (or equivalent odd symmetric orthogonal functions) terms or only cosine (or equivalent even symmetric orthogonal function) terms in the Fourier transform algorithm used to calculate the master data set of points. The second 32 data points required by the note registers can be obtained by reading the data stored in the main register forward and then backward. In the backward, or reverse addressing, mode a 2's complement operation is applied to the addressed master data set words if the trigonometric sine terms, or odd symmetric calculations, were used to generate the master data set. No change in the addressed master data set values is required if the trigonometric cosine terms, or even symmetric calculations, were used to generate the master data set.
In U.S. Pat. No. 4,249,448 entitled "Even-Odd Symmetric Computation In A Polyphonic Tone Synthesizer" a procedure is described for reducing the number of data words required to be computed for the master data set to 16 without a reduction of the 32 maximum harmonics capability for the generated musical waveshapes. The reduction in the size of the master data set is accomplished by decomposing the master data set into two components. The first component is generated using only the odd numbered harmonic coefficients and the second component is generated using only the even numbered harmonic components. The component master data sets are stored in two memories. During a transfer cycle, the required full cycle waveshape data is created by forward and backward addressing of the data stored in the two memories. The data addressed out is complemented and added in a specified manner so that the required full cycle waveshape set of points is created from 16 master data set points instead of directly computing the full 64 data points required by the note registers. In the disclosed system, the time required for the generation of the master data set during a computation cycle is reduced by a factor of four corresponding to the calculation of only 16 data points instead of the nominal requirement of 64 data points.
The present invention provides a novel implementation for reducing the time required to compute a master data set and is independent of any symmetry economics introduced in the computations.